<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LibCDS: /home/zsshen/Desktop/git-hub-code/C-Common-Data-Structures/include/util.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LibCDS
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('util_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">util.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="util_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPair.html">Pair</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structPair.html" title="Pair is the real key value pair stored in the map-like containers. ">Pair</a> is the real key value pair stored in the map-like containers.  <a href="structPair.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a823b9cc14d4c72b7d81ea9754dfaeb59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a823b9cc14d4c72b7d81ea9754dfaeb59">SUCC</a>&#160;&#160;&#160;(0)</td></tr>
<tr class="memdesc:a823b9cc14d4c72b7d81ea9754dfaeb59"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function is finished gracefully.  <a href="#a823b9cc14d4c72b7d81ea9754dfaeb59">More...</a><br/></td></tr>
<tr class="separator:a823b9cc14d4c72b7d81ea9754dfaeb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71927e9402d98a87c5c9eb6111058987"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a71927e9402d98a87c5c9eb6111058987">ERR_NOINIT</a>&#160;&#160;&#160;(-1)</td></tr>
<tr class="memdesc:a71927e9402d98a87c5c9eb6111058987"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data structure is not initialized.  <a href="#a71927e9402d98a87c5c9eb6111058987">More...</a><br/></td></tr>
<tr class="separator:a71927e9402d98a87c5c9eb6111058987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b27e89a225080d914772b42c19726cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a0b27e89a225080d914772b42c19726cf">ERR_NOMEM</a>&#160;&#160;&#160;(-2)</td></tr>
<tr class="memdesc:a0b27e89a225080d914772b42c19726cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient memory for data structure expansion or reallocation.  <a href="#a0b27e89a225080d914772b42c19726cf">More...</a><br/></td></tr>
<tr class="separator:a0b27e89a225080d914772b42c19726cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac8003c163c1000c583be39800c22ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#acac8003c163c1000c583be39800c22ba">ERR_IDX</a>&#160;&#160;&#160;(-3)</td></tr>
<tr class="memdesc:acac8003c163c1000c583be39800c22ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid argument to index the data structure.  <a href="#acac8003c163c1000c583be39800c22ba">More...</a><br/></td></tr>
<tr class="separator:acac8003c163c1000c583be39800c22ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4fdc531e4f68894ba5caf2dfd5de639"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ab4fdc531e4f68894ba5caf2dfd5de639">ERR_DUPKEY</a>&#160;&#160;&#160;(-4)</td></tr>
<tr class="memdesc:ab4fdc531e4f68894ba5caf2dfd5de639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicated key to insert associative data structures.  <a href="#ab4fdc531e4f68894ba5caf2dfd5de639">More...</a><br/></td></tr>
<tr class="separator:ab4fdc531e4f68894ba5caf2dfd5de639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b45804a56fa8764461b11f13e5c9bf2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a1b45804a56fa8764461b11f13e5c9bf2">ERR_NODATA</a>&#160;&#160;&#160;(-5)</td></tr>
<tr class="memdesc:a1b45804a56fa8764461b11f13e5c9bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">No entry can be found with the given key from the associative data structures.  <a href="#a1b45804a56fa8764461b11f13e5c9bf2">More...</a><br/></td></tr>
<tr class="separator:a1b45804a56fa8764461b11f13e5c9bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bebdd917f460e15626723b9053aa628"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a9bebdd917f460e15626723b9053aa628">ERR_GET</a>&#160;&#160;&#160;(-6)</td></tr>
<tr class="memdesc:a9bebdd917f460e15626723b9053aa628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid argument to store the returned data from getter operation.  <a href="#a9bebdd917f460e15626723b9053aa628">More...</a><br/></td></tr>
<tr class="separator:a9bebdd917f460e15626723b9053aa628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a306f92ef75fa539e28087d717fcb3fc8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a306f92ef75fa539e28087d717fcb3fc8">ERR_KEYSIZE</a>&#160;&#160;&#160;(-7)</td></tr>
<tr class="memdesc:a306f92ef75fa539e28087d717fcb3fc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid argument to specify the key size for hash data structures.  <a href="#a306f92ef75fa539e28087d717fcb3fc8">More...</a><br/></td></tr>
<tr class="separator:a306f92ef75fa539e28087d717fcb3fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a2583da5c1c14184068bda8cf681d5bed"><td class="memItemLeft" align="right" valign="top">typedef const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a></td></tr>
<tr class="memdesc:a2583da5c1c14184068bda8cf681d5bed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Item is the data type for the container element.  <a href="#a2583da5c1c14184068bda8cf681d5bed">More...</a><br/></td></tr>
<tr class="separator:a2583da5c1c14184068bda8cf681d5bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8673c57cfd615afd06cafefa9c2445e"><td class="memItemLeft" align="right" valign="top">typedef const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ab8673c57cfd615afd06cafefa9c2445e">Key</a></td></tr>
<tr class="memdesc:ab8673c57cfd615afd06cafefa9c2445e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Key is the data type to index map-like containers.  <a href="#ab8673c57cfd615afd06cafefa9c2445e">More...</a><br/></td></tr>
<tr class="separator:ab8673c57cfd615afd06cafefa9c2445e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0d0cb99e46ebc1c0458843e19ae21bd"><td class="memItemLeft" align="right" valign="top">typedef const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ad0d0cb99e46ebc1c0458843e19ae21bd">Value</a></td></tr>
<tr class="memdesc:ad0d0cb99e46ebc1c0458843e19ae21bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value is the data type for the map-like element.  <a href="#ad0d0cb99e46ebc1c0458843e19ae21bd">More...</a><br/></td></tr>
<tr class="separator:ad0d0cb99e46ebc1c0458843e19ae21bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f62df023942df493672150257c26348"><td class="memItemLeft" align="right" valign="top">typedef const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a0f62df023942df493672150257c26348">Entry</a></td></tr>
<tr class="memdesc:a0f62df023942df493672150257c26348"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entry is the data type which wraps key value pair to manipulate map-like containers.  <a href="#a0f62df023942df493672150257c26348">More...</a><br/></td></tr>
<tr class="separator:a0f62df023942df493672150257c26348"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a823b9cc14d4c72b7d81ea9754dfaeb59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SUCC&#160;&#160;&#160;(0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function is finished gracefully. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00012">12</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="a71927e9402d98a87c5c9eb6111058987"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_NOINIT&#160;&#160;&#160;(-1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The data structure is not initialized. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00015">15</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b27e89a225080d914772b42c19726cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_NOMEM&#160;&#160;&#160;(-2)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insufficient memory for data structure expansion or reallocation. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00018">18</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="acac8003c163c1000c583be39800c22ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_IDX&#160;&#160;&#160;(-3)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid argument to index the data structure. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00021">21</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab4fdc531e4f68894ba5caf2dfd5de639"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_DUPKEY&#160;&#160;&#160;(-4)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Duplicated key to insert associative data structures. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00024">24</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1b45804a56fa8764461b11f13e5c9bf2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_NODATA&#160;&#160;&#160;(-5)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No entry can be found with the given key from the associative data structures. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00027">27</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9bebdd917f460e15626723b9053aa628"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_GET&#160;&#160;&#160;(-6)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid argument to store the returned data from getter operation. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00030">30</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="a306f92ef75fa539e28087d717fcb3fc8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_KEYSIZE&#160;&#160;&#160;(-7)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid argument to specify the key size for hash data structures. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00033">33</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a2583da5c1c14184068bda8cf681d5bed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const void* <a class="el" href="util_8h.html#a2583da5c1c14184068bda8cf681d5bed">Item</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Item is the data type for the container element. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00037">37</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab8673c57cfd615afd06cafefa9c2445e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const void* <a class="el" href="util_8h.html#ab8673c57cfd615afd06cafefa9c2445e">Key</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Key is the data type to index map-like containers. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00040">40</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad0d0cb99e46ebc1c0458843e19ae21bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const void* <a class="el" href="util_8h.html#ad0d0cb99e46ebc1c0458843e19ae21bd">Value</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Value is the data type for the map-like element. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00043">43</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0f62df023942df493672150257c26348"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const void* <a class="el" href="util_8h.html#a0f62df023942df493672150257c26348">Entry</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Entry is the data type which wraps key value pair to manipulate map-like containers. </p>

<p>Definition at line <a class="el" href="util_8h_source.html#l00047">47</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="util_8h.html">util.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
